﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace XmlStudio.DataLayer {
    /// <summary>
    /// Restrictions are used to define acceptable values for XML elements or attributes. Restrictions on XML elements are called facets.
    /// </summary>
    public enum XsdFacet {
        /// <summary>
        /// Defines a list of acceptable values.
        /// </summary>
        enumeration,

        /// <summary>
        /// Specifies the maximum number of decimal places allowed. Must be equal to or greater than zero.
        /// </summary>
        fractionDigits,

        /// <summary>
        /// Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero.
        /// </summary>
        length,

        /// <summary>
        /// Specifies the upper bounds for numeric values (the value must be less than this value).
        /// </summary>
        maxExclusive,

        /// <summary>
        /// Specifies the upper bounds for numeric values (the value must be less than or equal to this value).
        /// </summary>
        maxInclusive,

        /// <summary>
        /// Specifies the maximum number of characters or list items allowed. Must be equal to or greater than zero.
        /// </summary>
        maxLength,

        /// <summary>
        /// Specifies the lower bounds for numeric values (the value must be greater than this value).
        /// </summary>
        minExclusive,

        /// <summary>
        /// Specifies the lower bounds for numeric values (the value must be greater than or equal to this value).
        /// </summary>
        minInclusive,

        /// <summary>
        /// Specifies the minimum number of characters or list items allowed. Must be equal to or greater than zero.
        /// </summary>
        minLength,

        /// <summary>
        /// Defines the exact sequence of characters that are acceptable.
        /// </summary>
        pattern,

        /// <summary>
        /// Specifies the exact number of digits allowed. Must be greater than zero.
        /// </summary>
        totalDigits,

        /// <summary>
        /// Specifies how white space (line feeds, tabs, spaces, and carriage returns) is handled.
        /// </summary>
        whiteSpace
    }
}